package com.yunchang.springboot.models.log;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunchang.springboot.base.Column;
import com.yunchang.springboot.base.Id;
import com.yunchang.springboot.base.Table;

import java.io.Serializable;

import lombok.Data;

/**
 * log_report_record
 *
 * @author czw
 * @date 2020-07-30 14:07:52
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
@Table("log_report_record")
public class LogReportRecord implements Serializable {
    /**
     *
     */
    @Id("id")
    private Integer id;

    /**
     * 报告基础表ID
     */
    @Column("report_info_id")
    private Integer reportInfoId;

    /**
     * 卖家ID
     */
    @Column("seller_id")
    private String sellerId;

    /**
     * 报告请求ID,发送RequestReprot接口请求后返回信息之一
     */
    @Column("report_request_id")
    private String reportRequestId;

    /**
     * 报告ID，是发送GetReport时的必需参数。发送GetReportRequestList时返回的GeneratedReportId就是report_id，发送GetReprotList时返回的就是ReportId
     */
    @Column("report_id")
    private String reportId;

    /**
     * 报告获取时的实时状态，1：已发送RequstReport 2：已发送GetReportRequestList 3: 已发送GetReportList 4: 已发送GetReport
     */
    @Column("report_process_status")
    private Integer reportProcessStatus;

    /**
     * 创建人ID
     */
    @Column("add_user")
    private String addUser;

    /**
     * 创建时间
     */
    @Column("add_time")
    private String addTime;

    /**
     * 修改人ID
     */
    @Column("mod_user")
    private String modUser;

    /**
     * 修改时间
     */
    @Column("mod_time")
    private String modTime;

    /**
     * 排序字段
     */
    @Column("order_tag")
    private String orderTag;

    /**
     * 删除标识（0-正常，1-删除）
     */
    @Column("del_flag")
    private Integer delFlag;

    /**
     * 备注信息
     */
    @Column("remarks")
    private String remarks;

    private static final long serialVersionUID = 1L;

    public LogReportRecord(Integer reportInfoId, String sellerId, String reportRequestId, String reportId, Integer reportProcessStatus, String remarks) {
        this.reportInfoId = reportInfoId;
        this.sellerId = sellerId;
        this.reportRequestId = reportRequestId;
        this.reportId = reportId;
        this.reportProcessStatus = reportProcessStatus;
        this.addUser = addUser;
        this.addTime = addTime;
        this.modUser = modUser;
        this.modTime = modTime;
        this.orderTag = orderTag;
        this.delFlag = delFlag;
        this.remarks = remarks;
    }

    public LogReportRecord() {
    }
}